# 课堂练习：
# 1、把字符串的内置方法练习一遍
# str1 = "    zhao_jun_bo    "
# print(str1.strip())
# print(str1.split("_"))
# print(str1.count("o"))
# print(str1.index("zhao"))# 首位值的脚标
# print(str1.replace("_","7")) #把前面的换成后面的
# print(str1.center(15)) #居中对齐
# print(str1.endswith(" "))#看末尾是否是" "
# print(str1.startswith(" "))#看开头是否是" "
# "2023年9月-来测科技17期全员就业"
# 2、基于上面的字符串，取出来：17期全员就业
# str2 = "2023年9月-来测科技17期全员就业"
# print(str2[12:])
# 2.1、字符串倒叙，就是翻转
# print(str2[::-1])
# 3、统计下目前学习的数据结构，哪些是可变的，哪些是不可变的
# 可变数据结构：
# 列表（list）：列表是可变的，可以通过索引修改、添加或删除元素。
# 字典（dict）：字典是可变的，可以通过键来修改、添加或删除键值对。
# 集合（set）：集合是可变的，可以通过添加或删除元素来修改。
# 不可变数据结构：
# 整数 （int） ：整数是不可变的
# 浮点（float）：浮点型小数型是不可变的
# 字符串（str）：字符串是不可变的，意味着字符串的值无法改变。但是可以通过创建新的字符串对象来实现字符串的操作，如拼接、切片等。
# 元组（tuple）：元组是不可变的，元组一旦创建后，其元素的值就不能修改。
# 作业：
# 1、两数之和
# 给定一个整数数组 nums和一个整数目标值 target，请你在该数组中找出 和为目标值 target 的那两个整数，并返回它们的数组下标。
# 你可以假设每种输入只会对应一个答案。但是，数组中同一个元素在答案里不能重复出现。
# 你可以按任意顺序返回答案。
# 示例
# 输入：nums = [2,7,11,15], target = 9
# 输出：[0,1]
# 解释：因为 nums[0] + nums[1] == 9 ，返回 [0, 1]
# nums = [1,10,30,40]
# target = 31
# for i in range(len(nums)):
#     for n in range(len(nums)):
#         if nums[i] + nums[n] == target:
#             print([i, n])
#         break
# 2、最后一个单词的长度
# 给你一个字符串 s，由若干单词组成，单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。
# 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串
# 示例
# 输入：s = "Hello World"
# 输出：5
# 解释：最后一个单词是“World”，长度为5。
# s = "zhao jun bo"
# for i in s:
#     if i == " ":
#         s.split(i)
#         print(len((s.split(i))[-1]))
#         break
# 第二种方法（不用遍历）
# s = "zhao jun bo"
# print(len((s.split(" "))[-1]))
# 3、编写一个程序，要求用户输入一个字符串，并将其反转输出。
# while True:
#     print((input("请输入一个字符串"))[::-1])
# 4、编写一个程序，要求用户输入一个整数，判断它是奇数还是偶数，并输出结果
# while True:
#     i = int(input("请输入一个整数"))
#     if i%2 == 0:
#         print("输入的整数为偶数")
#         break
#     elif i%2 == 1:
#         print("输入的整数为奇数")
#         break
# 5、编写一个程序，计算并输出 1 到 100 之间所有能被 7 整除但不能被 5 整除的数的和
# list1 = [i for i in range(1,101)]
# for i in list1:
#     if i % 7 == 0 and i % 5 == 0:
#         print(i)
# 6、输入任意三个数，用if语句编写求出其中最小值的程序
# list1 = [1,2,3]
# for i in list1:
#     for u in list1:
#         if i > u:
#             i = u
# print(i)
# 7、打印1 - 100之间的偶数
# list1 = [i for i in range(1,101)]
# for i in list1:
#     if i%2 == 0:
#         print(i)
# 8、九九乘法表
# list1 = [1,2,3,4,5,6,7,8,9]
# list2 = []
# for i in list1:
#     for u in list1:
#         list2.append(i*u)
#         list2.sort()
# print(set(list2))
# 9、求和运算
# 求s = a+aa+aaa+aaaa+aaaaa.....，其中a是一个数字。例如：
# 2+22+222+2222+22222（此时共有5个数相加），几个数相加由键盘控制。
# 输入 ：
# a = 4
# n = 5
# 输出：
# 4
# 44
# 444
# 4444
# 44444
# 前5个数的和为：49380
# a = int(input("请输入数字 a："))
# n = int(input("请输入要相加的个数 n："))
# result = 0
# temp = a
# multiplier = 1
# for i in range(n):
#     result += temp
#     temp = temp + a * (10 ** multiplier)
#     multiplier += 1
#     print(temp)
# print("前", n, "个数的和为：", result)
#
# a = input("请输入数字")
# n = int(input("请输入其他"))
# sum1 = 0
# for i in range(n):
#     print(a*(i+1))
#     sum1 = sum1+int(a*(i+1))
# print(sum1)
# 10、while 循环实现输出 2-3+4-5+6...+100 的和
# i = 2
# u = 100
# n = 1
# sum1 = 0
# for s in range(i,u+1):
#     if n ==1:
#         sum1 += s
#     else:
#         sum1 -= s
#     n *= -1
# print("2-3+4-5+6...+100 的和为：", sum1)
# 11、有一个奇数（13），然后判断最少几个9除于该数的结果为整数
# i = 13
# u = 9
# count1 = 1
# while u % i != 0:
#     u = u * 10 + 9
#     count1 = count1 + 1
# print("最少需要", count1, "个9才能整除", i)
# 12、重复让用户输入一个单词，直到用户输入bye才退出，统计一下，用户一共输入了多少个单词？
# i = 0
# n = "bye"
# while True:
#     word =input("请输入一个单词，输入bye退出")
#     if word != n:
#         i = i+1
#     else:
#         print("用户输入了%s个单词"%(i))
#         break
# 13、实现用户输入用户名和密码,当用户名为 seven 或 alex 且 密码为 123 时,显示登陆成功,否则登陆失败,失败时允许重复输入三次
u = 0
# while u > 2:
#     name = input("请输入用户名")
#     password = input("请输入密码")
#     if name != seven or name != seven or password !=123:
#         u = u + 1
#         break
#     else:
#         print("登入成功")
# 14、用程序计算100以内有多少个3的整数倍数字
# list1 = [i for i in range(1,101)]
# list2 = []
# for i in list1:
#     if i % 3 == 0:
#         list2.append(i)
# print(len(list2))
# 15、实现判断用户输入的内容中是否有c,要求最多输入三次
# u = 0
# name = input("请输入内容")
# for i in str(name):
#     if i != c:
#         u = u+1
#     elif u > 2:
#         break
#         else:
#         print("输入内容中有c")
# 
# 

# 16、一行代码实现：生成一个1-100的列表
#
# 17、让用户输入个人基本信息，包括 姓名、电话、住址、年龄，通过字典保存用户的数据信息，当用户输入q的时候，结束输入
#
# 结束输入后，打印显示全部的用户名，并要求选择一个名称
#
# 然后打印输出这个用户的全部信息，输出信息的格式：用户 xxx，电话是xxx，地址是xxx，年龄是xxx
#
# 18、图书管理系统
# 支持选项，选择功能
# 图书管理系统：
# 1.添加图书
# 2.删除图书
# 3.修改图书
# 4.查询图书
# 5.显示所有图书
# 6.退出操作
#
# 19、预设一个 0~9 之间的整数，让用户猜一猜并输入所猜的数，如果大于预设的数，显示“太大” ；小于预设的数，显示“太小” ，如此循环，直至猜中该数，显示“恭喜！你猜中了！ ”（使用random模块）
#
# 20、用户分别从键盘输入4个整数和3个整数组成两个列表list1和list2，将列表list2合并到list1中，并在list1末尾再添加两个数字90和100，然后对list1降序排列，最后输出最终的列表list1
#
# 21、t1 = (1, 99, 3, "str", [1, 8], 99)
# 元组中出现重复的次数，统计每个数对应索引，比如说99的这个数字，要有1，还有5